package com.qf.user.settings;

import com.qf.user.dao.SystemSettingsDao;
import com.qf.user.model.SystemSettings;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.List;
import java.util.TreeMap;

/**
 * @version v1.0.0
 * @Description:
 * @author: 姜红凯
 * @date: 2022.04.12
 * @since 1.0
 */
@Component
public class Settings {

    @Resource
    private SystemSettingsDao systemSettingsDao;

    /**
     * 一个自然日内，登录试错密码的最大次数
     */
    public static final String SIGNIN_ERROR_MAX_COUNT="signin_error_max_count";

    /**
     * 系统营业的开始时间
     */
    public static final String START_TIME="start_time";

    /**
     * 系统营业的结束时间
     */
    public static final String END_TIME="end_time";

    /**
     * 提供一个map，用于保存系统配置信息
     */
    private TreeMap<String,String> treeMapSettings;

    @PostConstruct
    public void initSettings(){
        //去数据库中查询数据
        //取出表里所有的数据，Example传入null就可以了
        List<SystemSettings> systemSettings = systemSettingsDao.selectByExample(null);
        treeMapSettings=new TreeMap<>();
        //把系统配置表转化为map 方便之后使用
        if (systemSettings !=null&&systemSettings.size()>0){
            //遍历结果集
            for (int i = 0; i < systemSettings.size(); i++) {
                SystemSettings settings=systemSettings.get(i);
                treeMapSettings.put(settings.getKey(),settings.getValue());
            }
        }
    }
    public String get(String key){
        return treeMapSettings.get(key);
    }
}
